/**
 * 用户列表/管理页面
 */
function users(
    user_source,
    token,
    privilege,          /* 按权限查询 */
    onlyRoot            /* 是否只看超级用户 */
) {
    // 设置消息参数
    var message_type = 0;
    // 设置需要查看的用户权限（省级/校级）和 是否只查看超级用户
    var data = "[ " + privilege + "," + onlyRoot + " ]";
    var has_view = 1;
    var toService = 0;
    // 发送消息
    send(user_source, message_type, data, has_view, toService, token);
}

/**
 * 注销
 */
function logout() {
    $("#logout_form").submit();
    return true;
}

/**
 * 使用表单提交的方式发送一条消息
 */
function send(
    user_source,
    message_type,
    data,
    has_view,
    toService,
    // Srping Secruity需要这个值检验是否是一个合法的Post请求
    _csrf_token
) {
    var url = "/send/wv";
    // 首先，判断参数是否合法；data是可以为null的
    if(user_source != null && message_type != null && has_view !=null && toService != null && _csrf_token != null){
        // 创建一个from表单及其子元素
        var form = $("<form></form>");
        // 设置表单属性
        form.attr("action", url);
        form.attr("method", "post");
        // 设置input
        var input_token = $("<input name='_csrf' type='hidden' />");
        input_token.attr("value", _csrf_token);

        var input_user_source = $("<input type='hidden' name='fUserSource' />");
        input_user_source.attr("value", user_source);

        var input_messtype = $("<input type='hidden' name='messtype' />");
        input_messtype.attr("value", message_type);

        var input_data = $("<input type='hidden' name='data' />");
        input_data.attr("value", data);

        var input_hasView = $("<input type='hidden' name='hasView' />");
        input_hasView.attr("value", has_view);

        var input_toService = $("<input type='hidden' name='toService' />");
        input_toService.attr("value", toService);

        // input全都附加到表单里
        form.append(input_token);
        form.append(input_user_source);
        form.append(input_messtype);
        form.append(input_data);
        form.append(input_hasView);
        form.append(input_toService);

        // 提交表单
        form.appendTo(document.body).submit();
    }

    return false;
}

/**
 * 使用ajax发送一条消息
 */
function sendByAjax(
    user_source,
    message_type,
    data,
    has_view,
    toService,
    // Srping Secruity需要这个值检验是否是一个合法的Post请求
    _csrf_token
) {
    var url = "";
    // 首先，判断参数是否合法；data是可以为null的
    if(user_source != null && message_type != null && has_view !=null && toService != null && _csrf_token != null){
        // 设置url，根据是否需要视图
        if(has_view === 0)
            url = "/send/nv";
        else if (has_view === 1){
            url = "/send/wv";
        }
        // 设置请求头，放入_csrf_token
        var headers = {};
        headers['X-CSRF-TOKEN'] = _csrf_token;
        $.ajax({
            type: "POST",
            url: url,
            headers: headers,
            data: {
                fUserSource: user_source,
                messtype: message_type,
                data: data,
                hasView: has_view,
                toService: toService
            },
            //请求成功
            success : function(result) {
                console.log("消息发送成功...");
                console.log(result);
            },
            //请求失败，包含具体的错误信息
            error : function(e){
                console.log(e.status);
                console.log(e.responseText);
            }
        })
    }

    return false;
}